


//
//  UIImage+Extension.swift
//  HotNews
//
//  Created by YYY on 2017/10/19.
//  Copyright © 2017年 成品家（北京）网路科技有限公司. All rights reserved.
//

import Foundation

extension UIImage
{
    // MARK: 图像上下文
    /// - Parameters:
    ///   - size: 绘图大小
    ///   - backgroundColor: 背景填充色
    ///   - lineColor: 线条颜色
    /// - Returns: 返回UIImage
 
    func ovalImage(size: CGSize?, backgroundColor: UIColor? = UIColor.white, lineColor: UIColor? = UIColor.lightGray) -> UIImage?{
        //size 绘图大小
        //opaque 不透明度
        //scale 屏幕分辨率 0，代表使用当前设备的屏幕分辨率
        var size = size
        
        if size == nil
        {
            size = self.size
        }
        let rect = CGRect(origin: CGPoint(), size: size!)
        //图像上下文
        UIGraphicsBeginImageContextWithOptions(size!, true, 0)
        //背景填充
        backgroundColor?.setFill()
        //矩形区域填充
        UIRectFill(rect)
        //设置头像圆角 实例化一条圆形路径
        let path = UIBezierPath(ovalIn: rect)
        //let path = UIBezierPath(roundedRect: rect, byRoundingCorners: UIRectCorner.allCorners, cornerRadii: CGSize(width: radius, height: radius))
        //对路径进行裁剪
        path.addClip()
        //绘制(在指定区域拉伸屏幕)
        draw(in: rect)
        //设置路径的宽度和颜色
        lineColor?.setStroke()
        path.lineWidth = 2
        path.stroke()
        //获得结果
        let result = UIGraphicsGetImageFromCurrentImageContext()
        //关闭上下文
        UIGraphicsEndImageContext()
        //返回结果
        return result
    }
}
